perm filename NSF.H[DOC,TOB] blob sn#051539 filedate 1973-06-27 generic text, type T, neo UTF8
00100			ABSTRACT
00200	
00300	The Stanford Artificial Intelligence Laboratory proposes to undertake
00400	a  program in advanced automation over a period of one year at a cost
00500	of $200,000.  This  proposal  is  to  continue  and  extend  programs
00600	sponsored under ARPA Contract SD-183.
00700	
00800	The  laboratory  proposes  a  one  year  investigation in the area of
00900	computer integrated  assembly  systems.    This  project  unites  two
01000	dominant  forces  in  industrial  automation:     computerization  of
01100	manufacturing and programmable assembly automation.
01200	
01300	This one year proposal is intended to be part of a three or four year
01400	"proof  of  concept"  effort.   Extensive industrial and governmental
01500	studies and consultation have guided the concepts of  this  proposal.
01600	Several industrial needs have emerged from studies now underway.  One
01700	is  a  widespread  desire  of  major  industries   for   programmable
01800	automation.   Another  is  the  desire to cut costs by better overall
01900	organization and understanding of the  manufacturing  process,  using
02000	computers as a tool for organization and information.
02100	
02200	The   proposed  project  would  attack  the  problem  of  interfacing
02300	programmable  assembly  devices  to  a  computer-aided  manufacturing
02400	system  and  the  problem  of programming general purpose devices for
02500	assembly tasks.  We are prepared for this effort as a consequence  of
02600	our  advanced  capabilities  in  programmable assembly devices []. We
02700	maintain that any  feasibility  and  system  design  study  in  basic
02800	research  applied to automation, must be based on a planned series of
02900	experiments which demonstrate the feasibility of key modules  in  the
03000	system, and the adequacy and compatibility of the modules combined as
03100	a system.  That is, we advocate a  constructive  approach,  based  on
03200	demonstrated  abilities,  and  an incremental approach, adding to the
03300	basis of the extensive system we now have. Feasibility  of  our  mini
03400	and  maxi  system  depends upon what capabilities we can put in a low
03500	cost  minicomputer  controlled  assembly   device,   and   reasonable
03600	estimated  system cost.  Our proposal is based on our experience with
03700	our system and firm estimates of what can be  included  in  the  mini
03800	system,  as  well  as  reasonable  cost  estimates.  Further progress
03900	toward an integrated system depends on putting a share of our  effort
04000	toward extending the capability of our existing programmable assembly
04100	system by investigating the use of two  arms  in  typical  tasks,  by
04200	improving touch and force sensing techniques and developing necessary
04300	software  in  carrying  out  assembly  tasks.   To  demonstrate   the
04400	feasibility of the proposed division of labor between a mini assembly
04500	system combined with a maxi central computer system, we will complete
04600	a  minicomputer-based programmable assembly device and interface with
04700	our time-sharing system. With this system we will perform a series of
04800	experiments  testing  modules  and  assembly tasks testing the entire
04900	system.
05000	
05100	Effort will be devoted  during  the  proposed  one  year  project  to
05200	consideration  of  alternative  approaches  to  the overall design of
05300	general assembly systems and to establishing feasibility by extending
05400	our  capabilities and performing assembly tasks.   During this period
05500	we will demonstrate our capability to industry and seek collaboration
05600	with  industrial firms. Information from the one year project will be
05700	used to shape the larger effort.
     

00100	I. THE NEED FOR ADVANCED AUTOMATION
00200	
00300	
00400	The contributions  that  advanced  automation  can  make  to  enhance
00500	productivity  in  manufacturing  are now widely appreciated.  Current
00600	interest in advanced  computer-oriented  automation  stems  from  two
00700	sources.   The  first  is the decreasing cost of computation combined
00800	with an improved understanding of how to apply computation to various
00900	aspects  of  manufacturing.  The second cause is the realization that
01000	many  current  manufacturing  operations,  primarily   assembly   and
01100	inspection,  will  require  complex  automation methods which are now
01200	research techniques. The same considerations apply to the  automation
01300	of  tasks such as laboratory and medical procedures, but the emphasis
01400	has been (as ours will be) on manufacturing. A recent  ARPA-sponsored
01500	study [Anderson 1972] in which we participated suggests the following
01600	major benefits from advanced automation:
01700		improved national productivity
01800		reduced prices
01900		increased product quality and uniformity
02000		customization of products
02100		increased  job  satisfaction.
02200	We would like to add just one comment. As we  have  seen  with  other
02300	technological  developments such as numerical-controlled tools, there
02400	will be things made which were previously impractical to make.  There
02500	is  widespread  agreement in the technical, industrial and government
02600	communities on the potential benefits of advanced automation.   There
02700	is  much  less  agreement  on  the  level of sophistication needed in
02800	automation hardware and software. While there are  large  application
02900	areas  in  which  specially  constructed  machines  or simple general
03000	purpose  devices  will  prove  optimal,  we  believe  that  the  most
03100	practical  solution for intermediate quantities (500 to 100,000) will
03200	be  to  develop  general  purpose  assembly  and  inspection  devices
03300	controlled by sophisticated programs in digital computers.
03400	
03500	These  conclusions  are supported by our consultation with industrial
03600	management who have manufacturing  responsibilities.  Programmibility
03700	is  necessary even in the automobile industry which has large volume,
03800	but essentially custom assembles each car.  This has been  repeatedly
03900	emphasized in workshops and private conversations.
04000	
04100	Another  conclusion is that the process of improving the organization
04200	of  manufacturing  can  make   heavy   use   of   computer   systems.
04300	Computer-aided  design  is  already  in  heavy  use  in semiconductor
04400	industries, and making a beginning in  other  industries.   Inventory
04500	and parts tracking are important facilities in the aircraft industry.
04600	Direct numerical  control  of  several  N/C  machines  by  a  central
04700	computer  is  also extensively used. Some effort has been directed in
04800	Europe towards  the  "group  technology"  approach  of  Opits,  which
04900	attempts  to  emphasize  commonality  by  using parts descriptions to
05000	group  items  which   are   alike.    Evolution   of   computer-aided
05100	manufacturing  depends  on  integrating these facilities and bringing
05200	more facilities under effective control.
05300	
05400	These  two  systems,  programmable  automation   and   computer-aided
05500	manufacturing interact in a beneficial way.  An important part of the
05600	development process for programmable automation is the development of
05700	programming systems which actually program assembly devices.  Part of
05800	that can be done by "learning by doing".   However,  many  operations
05900	are  only  small  modifications  of  other  operations, so that it is
06000	desirable to be able  to  modify  the  assembly  program  instead  of
06100	reprogramming   entirely.    It   would  appear  that  most  assembly
06200	operations could be strung together  from  modifications  of  modules
06300	from  a  library  of standard assembly subroutines like inserting and
06400	screwing.  Inspection combined with assembly (which is made necessary
06500	for  quality  control  and  because  of  the  implicit  inspection in
06600	assembly operations) and error and contingency conditions lead to  an
06700	assembly control structure like a conventional computer program.
06800	
06900	The central computer will have parts designs and assembly operations.
07000	Why should these not  be  used  to  supply  information  to  assembly
07100	subroutines?   And should the designer have a system which allows him
07200	to design for automatic assembly by interacting with the system which
07300	programs  the  actual  assembly  device?  That would provide a useful
07400	experimental system for cost and design automation,  in  addition  to
07500	shifting  some  of  the  responsibility  for  programming of assembly
07600	devices from assembly labor to professional staff with
07700	technical  sophistication.   We  emphasize  the  separation  into  an
07800	assembly system  which  could  operate  stand-alone,  but  is  better
07900	interfaced  with a central computer system, and the robot programming
08000	system which depends on more facilities but is used infrequently when
08100	jobs are changed.
08200	
08300	There  is  one  further  concept  in  common  among  presentations of
08400	automation. Automation must be incremental.   This  is  supported  by
08500	numerous  considerations: invested capital in existing plants, design
08600	costs  for  conversion,  and  the  necessity  for   a   sequence   of
08700	understandable and predictably profitable steps along the path.
08800	
08900	We contend that inserting programmable assembly devices incrementally
09000	into  existing  factories  or  new   factories   with   only   slight
09100	modifications,  demands  more  from  the programmable device.  We see
09200	this process at work as industrial robots of the Unimate class slowly
09300	develop  more facilities. The simple robot described in the ISI study
09400	[Anderson] does not exist yet; it must still be  proven  feasible  by
09500	demonstration.   We  outline  below  some  arguments  about  cost and
09600	productivity factors which follow from programmable assembly.   These
09700	arguments   follow  from  compatibility  with  current  manufacturing
09800	design, from economies of scale, and from commonality of  technology,
09900	and  from  desires  for  quality of product and predictability of the
10000	process.  Several  studies  have  indicated  some  priorities   among
10100	directions  of  automation.  The  ISI study [Anderson] indicates that
10200	less than 20%  of  discrete  manufacturing  is  amenable  to  special
10300	purpose  automation.  A Chrysler Corporation study indicates that car
10400	assembly labor has  first  priority  in  automation;  assembly  plant
10500	direct  labor is 40% of direct corporate labor.  The ISI study quotes
10600	a  figure  of  75%  as  the  fraction  of  batch  produced   discrete
10700	manufactures.  One  conclusion  is  that "the emphasis in development
10800	should be on simple vision devices and on low-bandwidth  tactile  and
10900	force  sensing  feedback".  That  study  indicates  that the assembly
11000	process typically accounts for 50 percent of production cost.
11100	
11200	We assume that present manipulators have a small but  stable  market,
11300	and  that  most  will  have minicomputers soon (Sundstrand does now).
11400	Will the incremental cost of  touch,  force  and  visual  sensors  be
11500	offset  by  the  opening  of  new  capabilities, and will the cost be
11600	offset by reduced cost of system  design  for  machines  which  allow
11700	loose  alignment tolerances? We estimate that touch and force sensing
11800	will add about 5% to the price of current manipulators of the Unimate
11900	class.    We  estimate  that  by 1977, the incremental cost of visual
12000	sensors, a laser ranging device such as  we  use  now,and  additional
12100	memory  requirements,  will  add about 15%-20% to current manipulator
12200	prices. If labor costs continue to rise, part of the increase will be
12300	offset,  but  cost  comparisons will not change appreciably over that
12400	time scale unless significant new mechanical designs  are  made.    A
12500	conclusion is that sensor-equipped robots will be available at slight
12600	additional  cost.  We  will  discuss  the  benefits  of   incremental
12700	improvements to manipulators.
12800	
12900	We  do not expect mechanical production costs to drop as dramatically
13000	as electronics costs fall with integration. The most  promising  cost
13100	reduction  development would be high-production standard modules such
13200	as robots.  As an example, consider the  Stanford  arm;  produced  in
13300	unit   quantity,   parts,   manufacturing   and  assembly  costs  are
13400	approximately $10K. The arm is much simpler than an automobile; there
13500	is  no  reason why it should cost more. A smaller, more recent design
13600	costs $3500 each in quantities of two.
13700	
13800	At what cost are robots economically viable?  This varies enormously;
13900	if  they  are  serving a large and expensive machine, the cost can be
14000	relatively high. Unimation now projects labor  costs  at  $22,000  to
14100	$24,000  per  man year averaged over the next 10 years, and assumes a
14200	payoff of 2 years for a projected acceptable cost level of $46,000. A
14300	robot  with  two  arms, minicomputer control, force and touch sensors
14400	could be constructed for under $10K in quantities  of  1000  now.  To
14500	summarize: two arms (new small Scheinman design) $2000 with hand; arm
14600	drivers and arm interface electronics $1000; force  and  touch  $800;
14700	small  computer  8k  memory  $4500;  total  $8300.  Assuming that the
14800	computer price falls to $1200 by 1978, this will at least  compensate
14900	for  inflation.   Of  course,  these are small arms, suited for parts
15000	assembly, not automotive body assembly.   The larger  arms,  assuming
15100	slight  redesign  for  cost, would cost about $2500 in units of 1000,
15200	for a total system cost (not price) of $12300. This is the  range  of
15300	price  of present transfer machines which have limited market because
15400	they have limited motion, no control, and are thus locked out of  the
15500	economy of scale. There is a dynamic which leads to economy of scale;
15600	the  greater  the  versatility,  the  wider   is   the   market   for
15700	applications.  This will be true particularly in small production and
15800	job shop operations which  have  been  difficult  to  automate.   The
15900	larger the production, the more versatility for the same initial cost
16000	as special devices.   Also,  with  high  volume,  standardization  of
16100	maintenance,  and availability of parts and service are improved. The
16200	quality of the device is also improved.
16300	
16400	The economies of scale in production of assembly modules are  matched
16500	by  economies  of  intellectual  scale  in  development of design for
16600	automation.     The  design  process  is   modularized   and   easily
16700	communicable;  there  is  a  common  discipline  which  can be widely
16800	absorbed; developments of many sources can be integrated. Programming
16900	and  training  done  once  for  one machine can be transferred to all
17000	machines in a plant,  and  even  transferred  nationwide.  Functional
17100	modularity  has been emphasized in our studies. Modularity is clearly
17200	possible and there is  a  powerful  economic  incentive  to  assemble
17300	widely varying systems from one, two, or three arm modules, force and
17400	touch  modules,  vision  and  ranging  modules,  with  planning   and
17500	monitoring  modules.  This would also entail software modularity with
17600	computer-aided mechanical design and job specification for robots  on
17700	a local or network time-sharing service.
17800	
17900	The  alternative is special design for each operation. We expect that
18000	at some point, design will be cheaper  with  standard  robot  modules
18100	than  with special purpose designs, just as it is now more economical
18200	to use mini-computer controllers than  special  purpose  controllers.
18300	Modularity  has  the  potential  to  reduce  design  time and improve
18400	predictability of design time and costs, permitting  better  planning
18500	and  response  to  competition.   To  some  extent,  the  dehumanized
18600	industrial worker now fills the role of standard module, so  that  we
18700	do  not  expect  discontinuous change. The continuity with decades of
18800	experience with design for  human  versatility  in  assembly  can  be
18900	relied  upon;  robots  with  some  versatility,  sensing, contingency
19000	actions, and dexterity will provide a  transition  to  newer  schemes
19100	which  will  evolve more slowly. Another advantage of general purpose
19200	techniques is the ease with which the size of the robot can be scaled
19300	up or down. There appears to be no difficulty in making very large or
19400	very small assembly stations which use essentially the same programs.
19500	
19600	Versatile assembly devices have an  efficiency  advantage  in  medium
19700	scale  and  job  shop production; their utilization efficiency can be
19800	higher because versatility allows  a  variety  of  operations  to  be
19900	scheduled  at  one  station.    The  availability  of  computers  for
20000	production scheduling will  allow  the  flexibility  to  be  used  to
20100	advantage.  Robots would also have longer life over which to amortize
20200	costs, since they could  function  with  greatly  changed  production
20300	operations,  and evolve with new hardware and software modules.  They
20400	would have higher reliability,  since  they  would  have  monitoring,
20500	contingency  action, and error recovery. They would be self-aligning,
20600	self-calibrating, and self-testing.
20700	
20800	With simple devices,  inspection  and  assembly  operations  must  be
20900	broken  down  into small operations with transfer operations between.
21000	This introduces extra transfer devices with orientation-preserving or
21100	re-orienting  steps, and overlapping operations which can be combined
21200	in an advanced device. The extra cost of jigs and  fixtures,  and  of
21300	stopping   assembly  lines  adds  to  the  cost  of  special  purpose
21400	automation.  Robots can  cut  down  on  real  estate,  since  several
21500	operations can be done at one station.
21600	
21700	Because  of the adaptibility of work stations, production runs can be
21800	smaller, with less capital tied up in inventory and unused  machines.
21900	There can be better response to the needs of high technology industry
22000	which often requires small quantities.   There has been difficulty in
22100	meeting   the   tight   tolerances   necessary   for   operation   of
22200	non-intelligent devices.  It is hard to estimate the value of systems
22300	which work within current industrial tolerance, rather than requiring
22400	radical improvements in engineering  practice,  but  that  continuity
22500	does seem important.
22600	
22700	Serious issues arise in the development of robots with simple sensory
22800	systems. Some evaluation issues should be settled  by  demonstration,
22900	since much sharper analyses can be made this way.
23000	
23100	There  is  already  a significant degree of industrial involvement in
23200	computer-aided assembly.  GM Research Lab has  demonstrated  a  wheel
23300	mounting  operation  using  visual  alignment.  IBM has a small robot
23400	project.  Hitachi has demonstrated a robot with touch  and  a  system
23500	with visual identification of objects on a conveyor belt, with visual
23600	control of manipulation.  Can  industry  be  expected  to  adequately
23700	support  this  development?   Development  of  primitive robots is an
23800	evolutionary process, not a single product development.  The area  is
23900	too  big;  the  payoffs  are  huge and the investment level is large.
24000	Also, traditionally, industry has been dependent  on  suppliers.  But
24100	with the exception of IBM, the suppliers are smaller and less able to
24200	risk  the  development.   Management  techniques  require  inordinate
24300	return  on  capital. An alternative support could come again from the
24400	military. The ARPA study and  the  history  of  numerical  controlled
24500	machine   tools   are  natural  consequences  of  the  vast  military
24600	procurement in technologically advanced products. In the case of N/C,
24700	funds could be diverted from an outmoded technology to development of
24800	devices which were essential to production plans for the future.   It
24900	is    high   technology   products   which   are   most   competitive
25000	internationally in the civilian economy.  The  record  of  government
25100	investment  in numerical control, solid state electronics, computers,
25200	and electro-optical devices has been  very  productive.  However,  in
25300	large  scale  development  of  civilian  products  and  international
25400	markets, foreign governments have taken the lead.  The development of
25500	general  purpose  assembly  devices  will  benefit manufacturers in a
25600	broad spectrum of industry, particularly medium scale  manufacturing.
25700	It  is  an  appropriate  area  for governmental action to help meet a
25800	national need.
25900	
26000	Given sensor-equipped  robots  at  little  extra  cost  over  current
26100	senseless  robots,  they  will  have  visual  ability to sense color,
26200	strong contrasts in brightness,  recognize  known  objects  from  two
26300	dimensional outlines (top view of flat object) or three dimensionally
26400	using depth, to a certain extent they will be able to recognize three
26500	dimensional  objects  using monocular recognition.  They will be able
26600	to visually align  mating  parts  in  assembly  operations,  increase
26700	reliability by self- calibration and flaw and disaster detection, and
26800	permit large tolerances in parts transfer, even permitting  parts  to
26900	be  taken  from  a  bin.    Several  of  these  abilities are not yet
27000	available in the laboratory, but with known conditions  and  objects,
27100	and  some  engineering (e.g.  color coding) are achievable within the
27200	time span of the proposed project.
27300	
27400	The major determinant of the economic impact of assembly robots  will
27500	be  the  extent  of their capabilities. Assessing and extending these
27600	capabilities is the principal goal of the proposed project.
27700	
     

00100	II.  RESEARCH PLAN
00200	
00300	THE ASSEMBLY SYSTEM
00400	
00500	An assembly system  is  not  just  a  programmable  assembly  device,
00600	important  as  that  is  at this stage of evolution.  From an overall
00700	standpoint, the biggest problems in  automated  assembly  are  system
00800	problems.   We suggest two main facilities of an assembly system
00900	that relate to the total factory  automation  system:  a)  design  of
01000	products  for  automated  assembly; as described above, many assembly
01100	problems can be simplified enormously by design  especially  for  the
01200	abilities  of  automated assembly systems. b) programming of assembly
01300	devices for new tasks.
01600	
01700	Our  experiments  in assembly lead us to suggest a form for a general
01800	assembly system, a mini and maxi system.  The mini system is a  small
01900	configuration minicomputer-based assembly station (possibly stand
02000	alone) tailored to a task by a choice of arm and vision hardware  and
02100	software  modules.  The maxi system is to reside in a factory central
02200	computer   which   handles   scheduling   of    resources,    design,
02300	communication,  routing  and tracking of parts, etc.  The maxi system
02400	interfaces  the  assembly  station  with  the  central  computer  and
02500	provides  the capability for convenient design for automated assembly
02600	and convenient reprogramming of the assembly station for  new  tasks.
02700	The  maxi system takes advantage of design information in the central
02800	system  and  large  file  system,   graphics,   and   problem-solving
02900	languages.  Its use is shared among many machines since reprogramming
03000	is done at intervals.  The mini system is low cost, yet its  behavior
03100	can  be  pre-planned  and  optimized  by  the  maxi system, utilizing
03200	intelligent and efficient  planning.
03300	
03400	The  essential  parts  of  the  system  are:      a)   representation
03500	(descriptors)  of  shape  and assembly operations.   We have advanced
03600	work with representation and description of complex  shapes  [].   b)
03700	Interactive   systems  including  graphics.      Here  too,  we  have
03800	considerable experience and useful existing techniques  and  systems,
03900	including   the  interfacing  of  our  representation  with  graphics
04000	systems.   c) Strategies which  allow  generality.     This  work  is
04100	beginning. d) Description of the assembly process in terms of program
04200	elements.  Some work in this direction has been done with development
04300	of the hand language HAL here.  We will extend this system to include
04400	vision primitives. The extent of the inclusion of assembly operations
04500	in  the  language  depends upon sophistication of shape and operation
04600	descriptors.
04700	
04800	
04900	The  most  obvious  form  of  programming  robots is that in use with
05000	current industrial robots, "learning by doing".  The robot is led  to
05100	end  points  of a trajectory or along a path by an operator.   We are
05200	able to do  that  already;  positions  for  the  pump  assembly  were
05300	specified  in  that  way.
05600	
05700	Those  techniques  are  quite limited, however.   They are limited to
05800	tasks with  positional  control  only.      Where  force  control  is
05900	necessary,  the  control  program  must  know  in what way to control
06000	forces, i.e.  what forces to  exert  or  null  along  what  direction
06100	vector.     For  example,  in inserting a rod into a hole, transverse
06200	forces should be nulled.  Such tasks require specifying a  trajectory
06300	with  additional  symbolic  force  control information.     Since arm
06400	control will be primarily based on minicomputers in  new  designs,  a
06500	natural  mode  to  accomplish  this partially symbolic programming is
06600	with an interactive program, which can be small.
06700	
06800	For any task involving a sequence of such operations, the interactive
06900	system  allows  the  operator to choose from a menu of operations and
07000	proceed step by step to assemble a sequence of these operations which
07100	have  been  verified.  Checking the success of these operations could
07200	use simulation if necessary to avoid tying up a  production  machine.
07300	Useful  modules  like  inserting  a screw would be saved as macros so
07400	that  subsequent  programming  sessions  would  be  much  simplified,
07500	dealing with combinations of such high level modules.  The macros can
07600	have arguments, so that one basic operation can be used in a  variety
07700	of   situations,   and   further,   our   software  allows  modifying
07800	trajectories  so  that  a  planned  trajectory  allows   considerable
07900	variation  in  execution,  without  replanning.  Ail these facilities
08000	exist. We have built and used such  an  interactive  system  for  the
08100	hand.
08200	
08300	Current  work  is  involved  with  extending  the  hand  progrmamming
08400	language to include more than one arm.  Problems  of  synchronization
08500	and coordinated motion will be provided for.
08600	
08700	Later  this  work  will become the output language for a higher level
08800	processor, in which tasks such as inserting, testing and mating  will
08900	be expressible in a simple and direct manner.
09000	
09100	As  visual  feedback  is included, the human operator must be able to
09200	interact with the visual system through a graphics console.     Not
09300	only are graphics consoles becoming  inexpensive,  but they are resources shared among many
09400	assembly stations.   Unlike the hand language, no interactive  visual
09500	system  exists. We must emphasize that development of the language is
09600	not primarily a language effort, nor is  it  a  statistical  learning
09700	system.     Rather,  we plan that it resemble the hand language, i.e.
09800	embedding  the  useful  set  of  visual  operators  in  a  convenient
09900	interactive  system.     During  the  early stages of the effort, the
10000	language will be at a low  level,  with  macros,  much  as  the  hand
10100	language  is  now.    That early emphasis will be on building a trial
10200	system based on a lot of experiments done as special cases.  This can
10300	be regarded as an extended learning by doing.  Meanwhile, our present
10400	efforts on representation of objects will evolve to a state at  which
10500	the modelling of objects is integrated with our graphics capabilities
10600	to begin to automate some of the programming of feedback  operations,
10700	that  is  to allow programming at a higher level. It is at this level
10800	that a non-technical worker might accomplsh the programming of visual
10900	feedback tasks.
11000	
11100	We will meanwhile work on development of strategies for assembly. The
11200	goal is to produce a language at about the level  of  an  instruction
11300	manual:    put the cover (part a) on the opening of part b. At such a
11400	level, the system begins to be applicable to design  for  automation.
11500	The  designer can use the system to simulate the assembly process and
11600	modify designs which are marginal for automatic assembly.    He  will
11700	have  an assembly program as part of the design.   Thus, a large part
11800	of programming for assembly may in fact be done by designers.
11900	
12000	Several factors may decrease the burden  of  programming  robots  for
12100	production line personnel:
12200		libraries of operations-fastening, inserting, etc.
12300	
12400		interactive systems which do bookkeeping and
12500		prompt the human operator- an extended sort
12600		of learning by doing
12700	
12800		programming by designers.
12900	
13000	The process of building the APT-like language for assembly should  be
13100	based on design, not on just random accretion, and should be based on
13200	computer science inputs, to maintain modularity and avoid  forseeable
13300	and  unnecessary limitations on syntax and implementation.  It should
13400	be based on a wider perspective than just one industry or the  market
13500	strategy  of a dominant computer company.  With APT, the language was
13600	developed with air frames in mind,  and  has  been  clumsy  in  other
13700	applications.   Further, the development should be based on extensive
13800	experience, which can be obtained sooner in  a  research  environment
13900	where a variety of tasks and skills can be investigated.
14000	
     

00100		A. THE PILOT ASSEMBLY STATION
00200	
00300	A basic goal of the proposed project is to extend our existing  robot
00400	system,  to  specialize on assembly tasks, and meanwhile, to transfer
00500	the system to a standard minicomputer, in order  to  demonstrate  its
00600	applicability  to  real  problems.  The  project will be considered a
00700	success if it has major impact on an industrial assembly system or or
00800	if  an  enterprise  chooses  to  manufacture  and  market the general
00900	purpose station.
01000	
01100	Our current robot system has one arm of our design,  two  TV  cameras
01200	and  a  laser  ranging system.  A variety of vision modules have been
01300	standardized, and a hand language (HAL) has  been  used  for  several
01400	tasks  [Paul].   A demonstration of the robot's capabilities has been
01500	made by assembling a water pump, using vision, touch and a tool.
01600	
01700	We  propose  to  extend  that  system  by:  a)  doing  more  assembly
01800	experiments  to  guide  research  in developing the hand language and
01900	manipulation techniques. b) design and  implement  visual  operations
02000	especially for assembly, which would not be programmed in our general
02100	vision effort, again using assembly experiments to guide research. c)
02200	adding a second arm which is nearly completed, and improved touch and
02300	force sensing; extending the hand language  to  two  arm  operations.
02400	demonstrate  practical  speed  and  dexterity  with two arms and tool
02500	using. d) after some progress with b, implementing a  language  which
02600	combines  vision  with  the  hand  language.  show the commonality of
02700	operations among similar assembly tasks.
02800	
02900	Simultaneously, we would transfer our robot system to a  minicomputer
03000	which  we are acquiring.  One benefit of this transfer is for our own
03100	research.  Another is that we can show the relevance of our  research
03200	to systems which are cost effective for industrial applications.  Yet
03300	another is that we can transfer our research results more directly to
03400	industrial  observers  and  industrial  laboratories.  In many cases,
03500	this can be direct  transfer,  since  we  have  the  beginning  of  a
03600	robotics user's group sharing the same minicomputer (GM research lab,
03700	3M research lab, JPL, and Artificial Intelligence lab,  MIT).   Also,
03800	our  hand  language, arm control and arm trajectory planning software
03900	are suitable for a variety of arms, including the Unimate.
04000	
04100	The result of this effort is a small system we call a pilot  assembly
04200	station,  based  on  a minicomputer.  Two related projects complement
04300	this proposed project.  These projects at SRI  and  MIT,  Draper  Lab
04400	have industrial participation to work with commercial manipulators of
04500	a type already in  use  in  factories  (Unimate).   They  propose  to
04600	develop systems which perform simple two dimensional inspection tasks
04700	and systems for manipulation at about our current level of dexterity.
04800	With  their  industrial participation, and a commercial device, their
04900	impact may be short term.  Our project is longer term in  that  while
05000	we  have  those accomplishments in manipulation and assembly, we work
05100	with equipment which is not a commercial product, so that  there  may
05200	be  a delay in converting our techniques to a commercial manipulation
05300	system, or marketing  our  manipulator.     Finally,  we  are  aiming
05400	toward  a  higher level of evolution, something like the simple robot
05500	described in the ISI report [Anderson].
05600	
05700	In one configuration, the assembly station is assumed to be connected
05800	to  a  large time-shared computer facility. Not only does this appear
05900	to be a good design for our problem, but it is also necessary for  an
06000	integrated  programmed  automation  facility.   The  only  emphasized
06100	statement in the ARPA study report [Anderson 1972] is:  "The  maximum
06200	impact  of  computers  in  manufacturing  will  come  from  complete,
06300	real-time computer  cognizance  and  control  of  all  processes  and
06400	resources,  allowing  the  precise scheduling and allocation of these
06500	resources."
06600	
06700	Each assembly station will consist of a small digital  computer,  one
06800	or  more  manipulators  and cameras. Manipulators and cameras will be
06900	combined as modules in systems to suit a  given  task,  and  will  be
07000	digitally  controlled  by the station computer.  The station computer
07100	may be connected to a central computer or may stand alone. The latter
07200	configuration  is  less  efficient  in  the  long run, but allows for
07300	incremental automation.
07400	
07500	The program in the station computer will be flexible as to the number
07600	and  position of manipulators and cameras. It will control input from
07700	the cameras, provide for some pre-processing of the picture  and  the
07800	application  of  simple  tests  to  the visual data.   In the case of
07900	manipulators it will provide for simultaneous servo control. It  will
08000	also  process  other  inputs,  such  as  from  touch  sensors  on the
08100	manipulators, photocell interrupt devices, limit switches, etc.  Both
08200	analog  and binary outputs will be available for the control of other
08300	devices.
08400	
08500	Each station computer will have access to a task  program  specifying
08600	the  actions and tests it should perform to carry out its task.  This
08700	task program will be compiled by the  central  computer.  Compilation
08800	will  consist of the analysis of predicted scenes in order to specify
08900	simple tests that the station computer can carry out, the calculation
09000	of  collision free trajectories for the manipulators, the sequence of
09100	operations and simple contingency plans. etc.  We  are  planning  for
09200	tasks   whose  normal  execution  does  not  require  detailed  scene
09300	analysis.  If scene analysis becomes necessary (e.g. a dropped  part)
09400	we  envision the station sending an image to the central computer for
09500	processing.
09600	
09700	The central computer will perform overall control of  the  individual
09800	assembly  stations  and  the relative rates of production.  If at any
09900	station a planned test fails, for which a contingency plan  does  not
10000	exist,  or  any  unexpected  sensor signals are received, the central
10100	computer will also be interrupted and appropriate actions  taken.  If
10200	the  assembly  station  is not connected to a central computer, these
10300	operations will require human intervention.
10400	
10500	
10600	Most  of  the  hardware  required  for  the assembly station has been
10700	developed for the laboratory.   The major additional  problem  is  to
10800	refine  the  existing  designs  to  meet the demands of an industrial
10900	environment.
11000	
11100	We are now acquiring a small computer, a PDP-11, and  will  interface
11200	the existing arms to it together with one or more cameras. A software
11300	package for the small computer will then be  developed  in  order  to
11400	control  the  manipulators,  read  the  TV cameras and to perform low
11500	level visual analysis. Programs to plan tasks, calibrate  the  system
11600	and  to  perform  higher  level  visual  analysis, error recovery and
11700	strategy planning will be written in a high level  language  for  the
11800	time-sharing processor.
11900	
12000	The most difficult part of the assembly station, and the heart of the
12100	project is a demonstration of the feasibility of the station. We plan
12200	to do this by developing programs which actually assemble and inspect
12300	a variety of fairly complex manufactured items.
12400	
12500	Our first task was assembly of an  automobile  water  pump.   A  film
12600	shows  the  process in detail.  The assembly consists of four sets of
12700	operations: Visually locating the pump body to move  it  to  standard
12800	position;   inserting  guide  pins  and  the  gasket,  then  visually
12900	verifying that the gasket is in place; picking up the pump  head  (at
13000	an approximate standard position) and placing it over the guide pins;
13100	using a tool to pick up screws from a  feeder  and  insert  them,  by
13200	searching near the hole if necessary.  Tools, vision, touch and force
13300	feedback were used. The assembly was at  approximately  human  speed,
13400	but not as fast as a practiced worker.  The reliability is relatively
13500	high.  Assembly was programmed in the hand  language,  with  a  small
13600	program, in terms of macros like "insert a screw".  Visual operations
13700	were special case programs.  A major part of the development  of  the
13800	pump  assembly  was  implementing  tools  and  finding  manufacturing
13900	engineering techniques.  Speed and reliability  in  repetitive  tasks
14000	could  be  increased  by  using  errors  found in searching to insert
14100	screws to update target positions for screw insertion, etc., so  that
14200	these operations were almost always immediately successful.
14300	
14400	As  we move to more difficult tasks, the sophistication required goes
14500	up quite rapidly.  The  current  manipulation  routines  seem  to  be
14600	expandable  to cover anticipated problems, especially since we intend
14700	to employ special purpose manipulators (tools)  for  some  tasks.   A
14800	major  part  of  our  effort will be vision for assembly; an assembly
14900	task will be performed using vision,  touch,  and  two  hands.    The
15000	vision  effort  will be integrated with other abilities, and while no
15100	great generality will be stressed, new modules will  be  incorporated
15200	into  the  system,  and  a  set of techniques will evolve. These will
15300	depend heavily on techniques similar to those of our  recent  studies
15400	in  visual  feedback  and  hand/eye  coordination  [Gill  1972].  The
15500	internal model of the world will be used to predict visual appearance
15600	of  selected areas of the scene, and a set of verification procedures
15700	will confirm or contradict the predictions. Many  of  the  operations
15800	will  be  connected  with  supplying  feedback  to  manipulation, for
15900	alignment and insertion. These visual procedures will have models for
16000	the parts and approximate locations.
16100	
16200	This and other visual tasks connected with assembly will initially be
16300	performed as special case  problems.   In  addition,  to  make  these
16400	techniques   available,   we  will  pursue  development  of  strategy
16500	programs. This step is essential if intelligent assembly devices  are
16600	to  be conveniently programmed for complex tasks. Within the division
16700	of labor between large and small machines, this facility  resides  in
16800	the  central  time-sharing  facility  which  has  large  memory, file
16900	storage, and problem-solving languages. The system must have a  model
17000	of  the  parts  for  assembly,and  a  sequence  of  instructions  for
17100	assembly. It will be necessary to have a representation of shape  and
17200	models for usual assembly operations such as insertion and alignment,
17300	and the ability to solve simple problems  in  connection  with  these
17400	operations,  all  this  to  enable  convenient communication with the
17500	user. When these facilities exist, the addition of new  features  and
17600	operations  can be incorporated smoothly, so that users can call on a
17700	growing library of planning modules. The result of a planning  effort
17800	is  a  cycle  of  machine  planning and man-machine interaction which
17900	results in a plan  network  for  the  mini  computer  which  controls
18000	individual machines.
18100	
     

00100	PROGRAMMING ASSEMBLY DEVICES AND INTERFACING WITH THE CENTRAL FACTORY
00200	SYSTEM
00300	
00400	
00500	The second part of the proposed project is to design and implement an
00600	initial version of an interactive  system  for  programming  assembly
00700	devices and interfacing with a central factory computer system.
00800	
00900	The  most  obvious  form  of  programming  robots is that in use with
01000	current industrial robots, "learning by doing".  The robot is led  to
01100	end  points  of  a trajectory or along a path by an operator.  We are
01200	able to do  that  already;  positions  for  the  pump  assembly  were
01300	specified  in just that way.  The process could be improved by better
01400	teleoperator control, for example the resolved rate control system at
01500	MIT.
01600	
01700	Those  techniques  are  quite  limited, however.  They are limited to
01800	tasks  with  positional  control  only.   Where  force   control   is
01900	necessary,  the  control  program  must  know  in what way to control
02000	forces, i.e. what forces  to  exert  or  null  along  what  direction
02100	vector.   For  example,  in  inserting  a rod into a hole, transverse
02200	forces should be nulled.  Such tasks require specifying a  trajectory
02300	with  additional  symbolic  force  control  information.    Since arm
02400	control will be primarily based on minicomputers in  new  designs,  a
02500	natural  mode  to  accomplish  this partially symbolic programming is
02600	with an interactive program, which can be small.
02700	
02800	For any task involving a sequence of such operations, the interactive
02900	system  allows  the  operator to choose from a menu of operations and
03000	proceed step by step to assemble a sequence of these operations which
03100	have  been  verified.  Checking the success of these operations could
03200	use simulation if necessary to avoid tying up a  production  machine.
03300	Useful  modules  like  inserting  a screw would be saved as macros so
03400	that  subsequent  programming  sessions  would  be  much  simplified,
03500	dealing with combinations of such high level modules.  The macros can
03600	have arguments, so that one basic operation can be used in a  variety
03700	of   situations,   and   further,   our   software  allows  modifying
03800	trajectories  so  that  a  planned  trajectory  allows   considerable
03900	variation  in  execution, without replanning.  We have built and used
04000	such an interactive system for the hand.
04100	
04200	Current  work  is  involved  with  extending  the  hand  progrmamming
04300	language  to  include  more than one arm. Problems of synchronization
04400	and coordinated motion will be provided for.
04500	
04600	Later this work will become the output language for  a  higher  level
04700	processor,  in  which tasks such as inserting testing and mating will
04800	be expressible in a simple and direct manner.
04900	
05000	As visual feedback is included, the human operator must  be  able  to
05100	interact  with  the  visual system through a graphics console.  These
05200	are becoming inexpensive, but it is a  resources  shared  among  many
05300	assembly  stations.   Unlike the hand language, no interactive visual
05400	system exists. We must emphasize that development of the language  is
05500	not  primarily  a  language  effort, nor is it a statistical learning
05600	system.  Rather, we plan that it resemble  the  hand  language,  i.e.
05700	embedding  the  useful  set  of  visual  operators  in  a  convenient
05800	interactive system.  During the  early  stages  of  the  effort,  the
05900	language  will  be  at  a  low  level,  with macros, much as the hand
06000	language is now.  That early emphasis will be  on  building  a  trial
06100	system based on a lot of experiments done as special cases.  This can
06200	be regarded as an extended learning by doing.  Meanwhile, our present
06300	efforts  on representation of objects will evolve to a state at which
06400	the modelling of objects is integrated with our graphics capabilities
06500	to  begin to automate some of the programming of feedback operations,
06600	that is to allow programming at a higher level. It is at  this  level
06700	that a non-technical worker might accomplsh the programming of visual
06800	feedback tasks.
06900	
07000	We will meanwhile work on development  of  strategies  for  assembly.
07100	The  goal  is  to  produce  a  language  at  about  the  level  of an
07200	instruction manual:  put the cover (part a) on the opening of part b.
07300	At  such  a  level,  the system begins to be applicable to design for
07400	automation.  The designer can use the system to simulate the assembly
07500	process and modify designs which are marginal for automatic assembly.
07600	He will have an assembly program as part  of  the  design.   Thus,  a
07700	large  part  of  programming  for  assembly  may  in  fact be done by
07800	designers.
07900	
08000	Several factors may decrease the burden  of  programming  robots  for
08100	production line personnel:
08200		libraries of operations-fastening, inserting, etc.
08300	
08400		interactive systems which do bookkeeping and
08500		prompt the human operator- an extended sort
08600		of learning by doing
08700	
08800		programming by designers.
08900	
09000	The process of building the APT-like language for assembly should  be
09100	based on design, not on just random accretion, and should be based on
09200	computer  science  inputs,  to  avoid  forseeable   and   unnecessary
09300	limitations  on  syntax  and implementation.  It should be based on a
09400	wider perspective than just one industry or the market strategy of  a
09500	dominant computer company.  With APT, the language was developed with
09600	air frames in mind,  and  has  been  clumsy  in  other  applications.
09700	Further,  the  development  should  be based on extensive experience,
09800	which can be obtained  sooner  in  a  research  environment  where  a
09900	variety of tasks and skills can be investigated.
10000	
     

00100		B.  RESEARCH IN VISION
00200	
00300	Research in computer vision has progressed so that the larger part of
00400	our effort is directed toward vision in real scenes. We outline  past
00500	research,  including  work  on visual feedback, development of useful
00600	modules, analysis of some outdoor scenes,  interpretation  of  scenes
00700	with curved objects, and a study of sensor systems.
00800	
00900	Our  past  work on visual feedback [Gill 1972] in stacking blocks and
01000	inserting objects  in  holes  is  directly  relevant  to  vision  for
01100	assembly.   The  issues  involved  are:   coordinating  hand and eye,
01200	utilizing incremental accuracy of vision and  manipulation,  accurate
01300	prediction  to  limit  search,  and  limiting accumulation of errors.
01400	Visual guidance in picking  up  objects  and  stacking  or  inserting
01500	objects  overcomes  errors  in the visual and arm coordinate systems,
01600	and errors in correspondence between the two coordinate systems. This
01700	was  done under realistic conditions, with the hand still holding the
01800	object and in view; the system predicts the appearance of  edges  and
01900	corners  within  a  small  window around the edges to be aligned, and
02000	uses a corner/edge finder to determine alignment error. The arm makes
02100	accurate  incremental  error  correction.  If predictions can be made
02200	accurately, the search window can be small, which increases the speed
02300	of  response  and decreases possibility of confusion with other areas
02400	of the scene. A major limitation to accuracy of  prediction  (and  to
02500	long-term  reliability  in  the  industrial  environment) is drift of
02600	calibration.   That  work  incorporates   calibration   updating   by
02700	self-calibration  to  coordinate  hand and eye coordinate systems and
02800	provide for reliability, as well as to  limit  search  by  accurately
02900	predicting  expected  features. Visual feedback with stereo vision is
03000	much more powerful than without; we have demonstrated  stereo  visual
03100	feedback in a program [Binford unpublished].
03200	
03300	We  have  a  set of visual modules to be used in a goal-directed way.
03400	These modules  answer  questions  which  arise  in  practical  visual
03500	feedback  tasks,  and  in analysis of outdoor scenes. Are there color
03600	edges in a selected window? Are there edges in brightness?   What  is
03700	the  color  of  the  region  in the window? Several preliminary color
03800	region analysis programs have been developed  [Binford,  unpublished,
03900	Bajcsy  1972].   An  edge  operator [Hueckel 1969] and a region-based
04000	corner/edge finder [Gill 1972] both operate on small windows  of  the
04100	scene,  as  directed  by  a higher level. An edge verifier is used to
04200	confirm or reject edges  predicted  from  context  [Tenenbaum  1970].
04300	Color  identification has long been demonstrated. Recently, a program
04400	has been implemented [Thomas unpublished]  based  on  Land's  Retinex
04500	model  of  color  constancy in vision, which defines a color triangle
04600	from ordering  of  brightnesses.   The  center  of  the  triangle  is
04700	designated  as  white. The program shows a color constancy similar to
04800	humans; table top scenes are assigned colors reasonably well under  a
04900	variety  of  lighting  with different spectra: sunlight, flourescent,
05000	and incandescent.
05100	
05200	Understanding outdoor  scenes  is  a  more  complex  task  than  many
05300	industrial  visual  operations,  but  it  has  utility  for planetary
05400	exploration; it is also  a  useful  exercise  for  developing  color,
05500	texture, and stereo operations. Bajcsy analyzed outdoor scenes with a
05600	combination of color and texture region analysis [Bajcsy 1972]; depth
05700	cues  were taken from the gradient of texture. An attempt was made to
05800	obtain  consistent  interpretations  by  making   three   dimensional
05900	interpretations, and confirming boundaries by independent properties.
06000	Natural objects and natural scenes have been used for our  work  with
06100	motion    parallax    [Nevatia    in   draft]   and   stereo   vision
06200	[Quam,Hannah].These are complementary techniques of depth  perception
06300	which  are applicable for planetary exploration and industrial tasks.
06400	Motion  parallax  can  be  used  for  planning  of   navigation   and
06500	characterizing  large scale terrain features, since it provides large
06600	baselines.
06700	
06800	Another aspect  of  vision  with  direct  application  to  industrial
06900	environments  is  explored  in  our work with curved objects. Current
07000	programs use depth information to make useful descriptions of objects
07100	like  a  doll,  a toy horse, a snake, or a glove [Agin]. Programs can
07200	segment these objects into parts like legs, arms or fingers, and link
07300	these   parts   together  to  form  descriptions  of  entire  objects
07400	[Nevatia]. These operations are precursors to a recognition  process.
07500	The  work  depends on a new representation of shape [Binford 1971] in
07600	terms of volume components and a part/whole segmentation.   Primitive
07700	parts  are  described  by  an axis which is a space curve, and normal
07800	cross sections along the axis.  The  representation  is  based  on  a
07900	formalism,   "generalized   translational  invariance".    There  are
08000	significant theoretical reasons why this representation  leads  to  a
08100	natural choice of parts by simple procedures, in distinction to other
08200	suggested representations.   We  developed  a  laser  ranging  device
08300	[Binford  1970,Agin]  which  was  operational  two  years  ago. It is
08400	particularly interesting that the device adds a cost  of  only  about
08500	$400 to the cost of a visual system.
08600	
08700	A  study  of  visual  and  depth ranging sensors has been carried out
08800	which provides a background for choosing sensors and  interface,  and
08900	making   cost  estimates  [Binford  1972,  Earnest  1967].   We  have
09000	maintained a calibrated hand and  vision  system  for  several  years
09100	[Sobel 1970], and have developed self-calibration techniques with one
09200	and two eyes [Yakimovsky unpublished, Hannah 1972, Gill 1972].
09300	
09400	A system for understanding scenes of blocks  from  single  views  has
09500	been  implemented  [Falk  1970]; it segments objects, matches against
09600	internal  models,  predicts  appearance  from  its  assumptions,  and
09700	searches  for  verification  and contradiction based on the predicted
09800	image. Support and spatial relations are also  obtained.   There  has
09900	been  past  work  on  programs  to  obtain  line drawings as input to
10000	recognition systems. An earlier system was based on  limited  context
10100	of expecting continuation of edges at vertices and predicting missing
10200	edges in certain expected configurations [Grape 1970]. A more  recent
10300	approach has been to use models within the process of generating line
10400	drawings, so that the most efficient  next  guess  can  be  made  and
10500	context  used  intrinsically in the formation of line drawings [Grape
10600	1973].
10700	
10800	VISION FOR ASSEMBLY
10900	
11000	This is a key part of the proposed project. We  propose  to  evaluate
11100	and  implement  visual  facilities  required  by  a robot with simple
11200	vision, in conjunction with force and touch. These facilities must be
11300	modularized by working out several examples, and made fast enough and
11400	small enough to be practical for a minicomputer-based robot. We  have
11500	considerable  experience  with  such standardization, and with visual
11600	feedback techniques in the domain of blocks. We are now  at  work  on
11700	extending  visual  feedback techniques to typical assembly tasks.  We
11800	are also evaluating methods of automating visual  feedback.  We  have
11900	well-developed  systems  for modeling objects from the console and to
12000	predict their appearance  using  techniques  from  computer  graphics
12100	[Baumgart  1972a,b]. We can predict curved edges from our models.  We
12200	will use simple region analysis programs and edge operators to locate
12300	curved  edges  predicted  within  a  small  window.  Automated visual
12400	feedback  would  combine  with  evolving  strategy  programs  in   an
12500	interactive system.  We will maintain a calibrated system and improve
12600	calibration updating so that reliability  is  maintained  at  a  high
12700	level.
12800	
12900	We  have  developed a special case program for locating the pump body
13000	in the pump assembly and moving it to the standard location.  We  are
13100	at  work  on  several  other such tasks involved in the pump assembly
13200	which contain components of  general  utility  for  visual  feedback.
13300	These tasks are typical of the simple visual operations which we will
13400	implement or adapt.
13500	
13600	VISION RESEARCH
13700	
13800	While continuing research activities are not to be supported  by  the
13900	proposed project, in all likelihood, the research will suggest useful
14000	programs for the assembly system, particularly work in recognition of
14100	complex  objects  using  depth  data.   The computer now has symbolic
14200	internal models of objects.  We are now in a  position  to  recognize
14300	objects  such  as  a glove, a hammer, etc.   We will immediately deal
14400	with matching descriptions for recognition.  The important extensions
14500	we  wish  to  deal  with  are  occlusion and access to a large visual
14600	memory.   These will involve matching  of  partial  descriptions  and
14700	encoding  of  partial  descriptions  as  indices  to a small class of
14800	similar shapes, which can then be compared in more  detail.   We  are
14900	working toward making the hardware stable enough that it can maintain
15000	calibration, and software streamlined so that the  depth  measurement
15100	system  can be integrated with other hand/eye facilities.   We intend
15200	to apply large parts of our programs for description and  recognition
15300	of curved objects using only monocular intensity information. This is
15400	a much harder problem, but within our representation, shares much  of
15500	the  same  code,  and  relies  on  the same conceptual basis of local
15600	three-dimensional models.
15700	
15800	
15900	There  is  a  growing  effort  on  navigation  of vehicles in outdoor
16000	scenes.  While this  is  not  directly  relevant  to  the  industrial
16100	environment,  it  does  reflect  the  growing  involvement in complex
16200	visual tasks, and will lead to further development of  an  integrated
16300	visual  system.  One approach which has already given initial results
16400	[Yakimovsky] is to combine region growing with interpretation using a
16500	world  model.   Thus, regions are combined not simply on the basis of
16600	uniformity but because combining them improves the interpretation. At
16700	the same time, we will be combining more facilities into these visual
16800	systems, and more usable knowledge in the world model.
16900	
17000		C. MANIPULATOR DEVELOPMENT
17100	
17200	Manipulator research began at the  Stanford  Artificial  Intelligence
17300	Laboratory  in  1965  with  the acquisition of a Rancho Orthotic Arm.
17400	This arm was interfaced in such a way that the  computer  could  read
17500	the  joint  positions by means of potentiometers and drive the arm by
17600	means of a voltage, pulse rate modulated signal for each joint.   Two
17700	solution   programs  were  written:   one  to  give  the  rectangular
17800	coordinate position of the hand knowing the six joint angles, and one
17900	to  give  the  joint  angles  knowing  the desired x,y,z position and
18000	orientation of the hand. These programs were  then  combined  with  a
18100	servo program to move the hand.
18200	
18300	The  servo  program  represents  two  key  concepts of all subsequent
18400	manipulator research at this laboratory:  1)  To  provide  a  digital
18500	computer  with  all  sensory  inputs,  initially joint positions, but
18600	later velocity, force and touch measurements. 2) The utilization of a
18700	programable  digital  computer  to  take  the  sensory  inputs and to
18800	provide basic control output to the manipulator, in  our  case  joint
18900	torque.  Initially the sensory input of joint angles was to provide a
19000	position servo with a sampling rate of 60 cycles per second. The  arm
19100	control  has been changed many times since, a simple task in the case
19200	of a program, but difficult in the case of a hard wire servo  system.
19300	This system was used by Wichman, Pingle and Singer in 1968 to provide
19400	a program which could pick-up, sort and stack blocks, and in a  first
19500	attempt at visual feedback.
19600	
19700	At  this  time  Piper  considered  the kinematics of manipulators and
19800	developed a classification scheme for all  possible  arms  and  their
19900	analytic  solvability.   He  concluded  his  work  by  implementing a
20000	trajectory based collision avoiding program. Although slow, this work
20100	demonstrated the need for trajectory control of the arm.
20200	
20300	Kahn  followed Piper with a study of the dynamics of manipulators and
20400	developed a "bang-bang" servo for a new  hydraulic  arm.   This  arm,
20500	still  at  the  laboratory,  was  developed  as  a  high  performance
20600	manipulator.
20700	
20800	By 1970 a general purpose program capable of manipulating plane faced
20900	bodies  was implemented. This program was used in the initial version
21000	of the "Instant Insanity" program where all  possible  reorientations
21100	of the four colored cubes were required in the puzzle solution.
21200	
21300	Our  present arm, the result of a continuing design project, replaced
21400	the Rancho Arm in 1970. This arm, like its predecessor is  controlled
21500	by a digital servo program running under the time sharing system. The
21600	new arm was used in the "Instant Insanity" demonstration in 1971.
21700	
21800	As this arm is driven by electric motors through high efficiency gear
21900	reductions it is possible to predict the torque exerted at each joint
22000	in terms of drive level. Based on kinematic analysis it  is  possible
22100	to  calculate the joint torques necessary to produce a given force at
22200	the hand. Further, for the hand to  exhibit  degrees  of  freedom  of
22300	motion, various joints are selected to be "free," that is, to have no
22400	position feedback applied to them. By exerting a force  at  the  hand
22500	and providing that certain degrees of freedom exist it is possible to
22600	perform a much wider class of tasks than simple  positional  control,
22700	for  instance  screwing  in screws, mating parts, inserting tools and
22800	turning cranks.
22900	
23000	Positional  accuracy  at  the  hand  is  typically  0.1  inches  with
23100	repeatability  of 0.02 inches. Force control at the hand is within 10
23200	ounces. The data rate to run the arm from an assembled arm program is
23300	of the order of 100 bits/second.
23400	
23500	Touch  sensors on the fingers allow the hand to sense objects without
23600	disturbing them. When activated the arm will stop  when  any  of  the
23700	sensors  touch.  Branching arm instructions can test the state of the
23800	sensors and modify the execution of an arm program. When  screwing  a
23900	nut  onto  a  bolt, for instance, the hand is first centered over the
24000	bolt by touching it.
24100	
24200	A second arm of the same type,  with  only  minor  modifications,  is
24300	currently  being  interfaced  to the computer. Both arms will share a
24400	common work space and will  be  able  to  be  used  individually,  or
24500	together  for two-handed tasks. This should increase the scope of our
24600	manipulation work by some orders of magnitude. It may be possible for
24700	many assembly workers to work with their eyes closed but it would not
24800	be possible, in most cases, to work with only one arm.
24900	
25000	Control  of  the  arms  is  achieved  by  a  series  of  high   level
25100	instructions;  these instructions may be executed directly, or may be
25200	assembled together into an arm program.  Arm  programs  may  then  be
25300	executed,   as   desired,  by  the  control  program.    The  control
25400	instructions may be accessed directly by other  programs,  using  the
25500	message  procedure  mechanism,  or  in  the form of a symbolic source
25600	file.
25700	
25800	Manipulator research moves  ahead  simultaneously  on  three  fronts:
25900	control,  primitives  and  devices.   Tasks  are  translated  into an
26000	existing hand language and where the task cannot be  accomplished  in
26100	terms  of  existing  primitives,  new  primitives are formulated in a
26200	consistent manner. When a new  primitive  is  formulated,  real  time
26300	routines  are  developed  to  perform the action. This also leads, in
26400	many cases,  to  the  development  of  new  hardware.   Also  as  new
26500	developments  occur  in  hardware design, existing real time routines
26600	are either re-written or modified.
26700	
26800	Research is now concentrating on  the  following  areas:  To  provide
26900	strain gauge instrumentation of the wrist, in order to allow for more
27000	sensitive interaction of the hand with a  task.  The  development  of
27100	high  resolution, high sensitivity touch sensors, to increase tactile
27200	recognition and control abilities. These developments  will  lead  in
27300	turn to new control concepts.
27400	
27500	Development  of  tools  for the hand. These tools can be instrumented
27600	such that the computer can feel and or see at the end  of  the  tool.
27700	This  should  be  a very important area of research as it goes beyond
27800	present human capabilities.
27900	
28000	Two handed arm control, the planning and execution of tasks requiring
28100	the coordinated motion of both arms, will require an extension of the
28200	existing servo program and the analysis of synchronization  problems.
28300	The  development of collision avoiders, so that arms will not collide
28400	with other objects and with each other.
28500	
28600	Modification of  the  existing  arm  design  to  provide  for  better
28700	incremental motions, more degrees of freedom and a more rugged design
28800	suitable for industrial use. Development  of  arm  and  eye  computer
28900	interfaces.  These contain synchronized analog/digital converters for
29000	input and current controlled drivers for output.
29100	
29200	The development of new hands is expected as more  complex  tasks  are
29300	attempted.  At  present,  with only one hand, we have been performing
29400	the positioning type  of  hand  actions.   When  the  second  arm  is
29500	operational we will be able to perform holding and pulling actions as
29600	well.
29700	
29800	
29900		D.  SYSTEM REQUIREMENTS FOR ADVANCED AUTOMATION
30000	
30100	A  key  element in the development of any large programming effort is
30200	the software support.  There has been continual  effort  along  these
30300	lines  at  the  Stanford  Artificial Intelligence Laboratory and many
30400	useful ideas have been developed.  We propose to extend the  research
30500	along  two  separate lines:  support for research and system software
30600	for operating automated systems.  We will briefly describe  our  past
30700	efforts in this area and what we propose to undertake.
30800	
30900	The  Stanford  Artificial  Intelligence  Laboratory  has pioneered in
31000	several areas of system programming, including  timesharing  systems,
31100	interactive graphics, and programming languages.
31200	
31300	A  great  deal  of  additional effort has gone into direct support of
31400	hand-eye research.   Very early, we established  a  set  of  standard
31500	formats  and  library routines [Pingle 72a].  A programming language,
31600	SAIL[Swinehart], was implemented in 1968.  The language  incorporates
31700	special   features  for  large  real-world-oriented  problem  solving
31800	systems  and  is  currently  in  use  at  a  number   of   Artificial
31900	Intelligence and other laboratories.
32000	
32100	As  we began to assemble larger and more sophisticated collections of
32200	programs, we felt a need  for  flexible  mechanisms  for  cooperating
32300	sequential  processes.    The resulting monitor and language features
32400	[Feldman & Sproull 1971] have  worked  well  for  us  and  have  been
32500	influential  on  other  projects.      Recently,  we  have  added  an
32600	additional set of features to SAIL  to  facilitate  non-deterministic
32700	and  event-directed  programming[Feldman 1972].   The early reactions
32800	to this work, both within the laboratory and without have  been  very
32900	encouraging.
33000	
33100	We  expect  relatively  little  work  to be needed on further systems
33200	support for basic research.   There will undoubtedly  be  efforts  to
33300	take  advantage of new hardware and of new programming ideas that may
33400	develop in the course of this program.    Almost  all  of  this  work
33500	should be covered by other funding.
33600	
33700	The  development  of  software  for the assembly station will require
33800	more of  our  effort.     The  central-local  computer  configuration
33900	requires  code to be resident in the local computer and in the shared
34000	machine.    The low level programs in the local machine will  not  be
34100	modified  often,  thus  we can assume that a compiler resident in the
34200	central machine will suffice.   The  planning  programs  and  general
34300	vision programs will be resident in the shared system.  There are two
34400	possible configurations for the shared computer system:     A  PDP-10
34500	equivalent  machine  or a software package in ASA Standard Fortran IV
34600	which will run on any sufficiently large machine.    One of the tasks
34700	under this proposal would be to evaluate these two alternatives.
34800	
34900	A major share of the programming research effort will be concentrated
35000	on developing a programming system for automated assembly.  This will
35100	combine  ideas  from  our  past  work  on  languages, representation,
35200	computer graphics and arm control.  We view this task as a branch  of
35300	the  larger  effort on automatic programming being undertaken in this
35400	laboratory and elsewhere.
35500	
     

00100			TIMETABLE
00200	
00300	
00400	
00500	
00600	The full program is designed for a four year  period,  including  the
00700	initial one year program proposed here.  We will set up the timetable
00800	only for the one year grant  period.   During  that  period  we  will
00900	accomplish the following:
01000	
01100		interface the second arm and develop two arm software;
01200	
01300		transfer arm software and hardware to the PDP-11;
01400	
01500		interface improved touch and force feedback for the arms;
01600	
01700		extend our library of vision primitives and perform several
01800		visual feedback experiments to test their utility;
01900	
02000		begin the vision language;
02100	
02200		perform an assembly task (possibly assembly of a 
02300		two stroke engine) to aid in development of our system;
02400	
02500	
02600	
02700	For the following timetable, we assume the project to begin in September,
02800	1973. 
02900	
03000	
03100	Month
03200	1 begin transferring arm hardware to PDP-11; begin development of new
03300		visual feedback modules;
03400	2 Second arm operational; begin on two arm software
03500	3
03600	4 use of visual feedback for inserting screws into holes
03700	5
03800	6  force sensing wrist operational; two arm software initially usable
03900	7
04000	8  system software for minicomputer usable;
04100	   begin combining vision with hand language
04200	9
04300	10 completion of transfer of arm control software to PDP-11
04400	11 completion of demonstration of assembly task
04500	12 improved touch sensing
     

00100	III. UTILIZATION PLAN-DISSEMINATION  OF  RESULTS  AND  RELATION  WITH
00200	INDUSTRY
00300	
00400	
00500	There are several other efforts, at varying levels of sophistication,
00600	in the area of computer controlled advanced automation.  The Stanford
00700	Artificial Intelligence Laboratory is the oldest and largest of these
00800	and  has  provided  the  cutting  edge  of much of he development. We
00900	intend to continue this role and to lead  in  the  development  of  a
01000	practical   general   purpose  assembly  system  and  the  associated
01100	software.
01200	
01300	All of the discoveries made under this grant will, of course, be made
01400	public.    We view our role in information transfer in a much broader
01500	way.  Having no desire to sell products and services and  no  clients
01600	with   interests  to  protect,  a  university  laboratory  should  be
01700	primarily a place for acquiring and spreading knowledge.
01800	
01900	The Stanford Artificial Intelligence Laboratory has always considered
02000	information transfer to be one of its primary goals.  In addition, to
02100	our published papers and reports, we  have  made  a  number  of  film
02200	reports  which  have  been  extensively  circulated.  There have been
02300	thousands of visitors, ranging  from  elementary  school  classes  to
02400	major  scientific,  governmental  and  industrial  missions from many
02500	countries. We have also encouraged extended visits  by  workers  from
02600	other laboratories and from industry. Members of the laboratory staff
02700	have played a major role in the organization of journals, conferences
02800	and seminars in artificial intelligence.   Many  of  our  algorithms,
02900	systems,  and hardware designs have been adopted by other groups. Our
03000	students are an important contribution to information transfer.
03100	
03200	We have close contacts with SRI (several former students are employed
03300	there) and with Draper Lab, MIT.  These laboratories, with industrial
03400	participants in their research programs, provide  the  right  setting
03500	for  transfer  to  industry.  We have close contact with the computer
03600	science group at GM Research Labs.
03700	
03800	A development of consierable  interest  is  that  five  groups  doing
03900	similar  research  have chosen the PDP-11 as a research minicomputer.
04000	We will have immediate relevance to members of  this  informal  robot
04100	user's  group.  Our programs will be usable by members and any others
04200	who  acquire  the  PDP-11.   It  would  be  advantageous  for  future
04300	purchases  of  minicomputers  for  automation  research, that they be
04400	compatible with this group.  Our efforts are exportable in a  further
04500	sense;  the  arm servo and planning programs are applicable to a wide
04600	range of arms, to the Unimate in particular.
04700	
04800	The  success  of  the  program  proposed  here  depends  heavily   on
04900	interaction  with  industry.   We will need additional information on
05000	the opportunities for automation and will try to involve manfacturers
05100	in  the  development  of  the  pilot assembly station.   We have good
05200	working relationships with a number of firms and  we  expect  that  a
05300	concrete project will help forge the bonds necessary for the transfer
05400	of advanced automation technology from  the  laboratory.  During  the
05500	initial  proposed  grant period, we intend to negotiate a cooperative
05600	relation with one or more firms.
05700	
05800	One promising approach to technology transfer is a  staff  associates
05900	program.    This involves residence of about a year's duration at the
06000	laboratory by industrial  scientists.     Such  a  program  was  used
06100	successfully at the MIT, Electronic's Research Laboratory in the area
06200	of programming systems for numerically controlled  tools  and  design
06300	automation.     We have initiated a similar program in the laboratory
06400	(cf Appendix A) and are pursuing additional forms of cooperation.
     

00100				Appendix A
00200	
00300		The  Stanford  A.I.  Lab  has  been  engaged  in  research on
00400	advanced automation technology.  Our work has progressed to the stage
00500	where  we  are  seriously  engaged  in  developing  and disseminating
00600	practical applications.   To do this effectively, we  will  need  the
00700	help  of industrial organizations with computer sophistication and an
00800	understanding of practical problems.  One form of  cooperation  which
00900	we  are  engaged in is a staff associates program.  A staff associate
01000	is a member of another organization in residence at the A.I. Lab.  We
01100	have  had  a  number  of staff associates over the years, mostly from
01200	foreign countries. The enclosed letter from Japan is typical  of  the
01300	inquiries  we receive.  The purpose of the new program is to invite a
01400	few domestic inductrial organizations to submit  candidates  for  the
01500	staff associates positions.
01600	
01700		We  expect  to be able to have three to five staff associates
01800	in the laboratory at a time.  The associate would remain for about  a
01900	year and would be paid by his sponsoring organization.  He would be a
02000	regular  member  of  the  laboratory  staff,  working  on  automation
02100	problems.
02200	
02300		There  are,  of  course,  academic programs at Stanford which
02400	could also involve work at  the  Artificial  Intelligence  Lab.   The
02500	staff  associate  program  differs in that the selection criteria are
02600	different, the timing more flexible, and the expected time devoted to
02700	course  work  much  less.   We  believe that it is the most effective
02800	mechanism for us to learn from and help industrial  practitioners  of
02900	computer-aided advanced automation.
03000	
03100	
03200				Jerome A. Feldman
     

00100	IV. STAFF
00200	                     Brief Biographical Sketches
00300	
00400	Jerome A. Feldman, Principal Investigator: Early training  in physics
00500	and  mathematics;  Ph.D.  in  computer  science from Carnegie-Mellon,
00600	1964. Two years at M.I.T. Lincoln Laboratory. At Stanford since 1966,
00700	leader of Robotics group since 1968. currently Associate Professor of
00800	Computer  Science  and   Associate   Director   of   the   Artificial
00900	Intelligence  Lab.   Research interests include Robotics, associative
01000	processing, inductive inference, and Translator-writing systems.
01100	
01200	Thomas  O.   Binford, Associate Investigator: Received PhD in physics
01300	from the University of Wisconsin, 1965, working with strange particle
01400	reactions,  Regge  pole  and  group theory phenomenology.   Fulbright
01500	1965-66 Tata Institute of Fundamental Research, Bombay, India:  phase
01600	shift  analysis  of  strange  particle  systems;  theory  of unstable
01700	particles.  At MIT Artificial Intelligence Project  1967-70,  working
01800	on  representation  of  shape, region-based analysis system and other
01900	areas of computer vision, systems programming for LISP.  Lecturer  in
02000	computer  science  at  Stanford  University.   Research interests are
02100	computer vision, robotics, representation, and perception.
02200	
02300	Richard  P. C. Paul,  Associate Investigator:   Undergraduate work in
02400	Engineering Physics at McGill, Masters in Electrical Engineering  and
02500	PhD in Computer Science at Stanford  University.  From  1963  at  the
02600	Stanford  Linear  Accelerator  Center  as Electronic Engineer. At the
02700	Stanford A. I. Laboratory since 1966 and responsible for  manipulator
02800	systems  development  since 1968. Research interests include Robotics
02900	and digital servo systems.
03000	
03100	John  McCarthy:  BS in Math., Cal Tech, PhD in Math, Princeton, 1951.
03200	With Minsky,  organized  and  directed  the  Artificial  Intelligence
03300	Project  at MIT.  Joined Stanford as Professor of Computer Science in
03400	1962.   Organized and directs the  Stanford  Artificial  Intelligence
03500	Lab.   Research  interests  include  nearly all aspects of artificial
03600	intelligence,   timesharing   systems,   mathematical    theory    of
03700	computation, and representation theory.
03800	
03900	Victor  Scheinman:  Bachelor's  in  Electrical  Engineering,  M.I.T.,
04000	Engineer's in Mechanical Engineering from Stanford, 1969.    Employed
04100	as  a  design  engineer  at Stanford, M.I.T., and Raychem since 1969.
04200	Responsible for the design and construction  of  computer  controlled
04300	arms, as well as other Robotics equipment such as color-wheels, focus
04400	controls, pan-tilt heads, etc.
04500	
04600	Lester Earnest:   BS in  Electrical  Engineering,  Cal  Tech;  MS  in
04700	Electrical  Engineering,  MIT,  1960.     Two  years  at  MIT Lincoln
04800	Laboratory.  Seven years at Mitre  Corporation,  ending  as  Head  of
04900	Information  Systems Department.  At Stanford since 1965 as Executive
05000	Officer  and  Associate  Director  of  the  Artificial   Intelligence
05100	Laboratory,  Research  Computer  Scientist,  and Lecturer in Computer
05200	Science.  Responsible for administration and industrial liason.
05300	
05400	
05500	
05600	                          Curriculum Vitae
05700	
05800	                          JEROME A. FELDMAN
05900	
06000	                                1972
06100	
06200	
06300	                      Biographical Information:
06400	
06500	Born:  December 5, 1938 in Pittsburgh, Pennsylvania, U.S.A.
06600	Nationality: United States
06700	Marital Status:  Married, two children
06800	
06900	
07000	EDUCATION:
07100	
07200	B.A.	(Physics, with Distinction)	Rochester	1960
07300	M.A.	(Mathematics)			Pittsburgh	1961
07400	Ph.D.	(Mathematics, Computer Science) Carnegie-Mellon 1964
07500	
07600	
07700	HONORS AND SOCIETIES:
07800	
07900	Association for Computing Machinery
08000	American Association for the Advancement of Science
08100	National Lecturer, Association for Computing Machinery  1966
08200	Best Session Award, IEEE, August			1970
08300	Fulbright Lecturer, Hebrew University, Jerusalem	1970-71
08400	
08500	
08600	PROFESSIONAL EXPERIENCE:
08700	
08800	Engineer, Westinghouse Electric Corporation		1960-61
08900	Asst. Research Scientist, Carnegie-Mellon U.		1963-64
09000	Staff Member, MIT Lincoln Laboratory			1964-66
09100	Summer Lecturer, U. Pennsylvania			1966
09200	Summer Lecturer, U. Michigan				1967
09300	Asst. Prof., Computer Science, Stanford U.		1966-69
09400	Assoc. Prof., Computer Science, Stanford U.		1969-Present
09500	Visiting Prof. of Computer Science, Hebrew U.		1970-71
09600	Assoc. Dir., Artificial Intelligence Lab., Stanford U.	1972-Present
09700	
09800	
09900	
10000	EDITORIAL, ORGANIZATIONAL, AND CONSULTATION:
10100	
10200	Reviewer for Computing Reviews, Journal and
10300		Communications of the ACM, Information and
10400		Control, IEEE Computer Group, various Conferences
10500		and government agencies.
10600	
10700	Consultant for IBM, Systems Development Corp.,
10800		Martin-Marietta Corp., Lockheed Missiles and Space
10900		Corp., General Motors, National Institute of Health
11000	
11100	Editorial Board, Fundamental Studies in Computer
11200		Science, North-Holland Publishing Company
11300	
11400	Lecturer, ACM Professional Development Seminar in
11500		Time-Sharing, 1967
11600	
11700	Organizing Committee, Israel Alta Conference,
11800		Ashkelon, February 1971
11900	        NATO Conference on Software, Rome,Italy,1969
12000	        ACM Conf. on Very High Level Languages, 1974
     

00100	                            PUBLICATIONS
00200	
00300	                          Jerome A. Feldman
00400	
00500	
00600	"Some   Regularity  Theorems  on  Kernel  Methods  of  Summation  for
00700	Functions of a Complex Variable," Masters' Thesis, U. of  Pittsburgh,
00800	1961.
00900	
01000	"A  Formal  Semantics  for  Computer   Oriented   Languages",   Ph.D.
01100	Dissertation, May 1964, Carnegie-Mellon University.
01200	
01300	"Aspects of Associative Processing", TN-1965-13, Lincoln  Laboratory,
01400	Massachusetts Institute of Technology, Lexington, Massachusetts.
01500	
01600	"A Formal Semantics for Programming Languages",  Proceedings  of  the
01700	International  Federation  of  Information  Processing Societies, May
01800	1965.
01900	
02000	
02100	"A  Formal Semantics for Computer Languages and its Applications in a
02200	Compiler-Compiler", Communications of the Association  for  Computing
02300	Machinery,  Vol.  9,  No. 1, January 1966, and reprinted in "COMPUTER
02400	COMPILER TECHNIQUES", Auerbach Publishers, 1971.
02500	
02600	"An   Associative   Processing   System   for   Conventional  Digital
02700	Computers", (with P.D. Rovner), TN-1967-19, Lincoln Laboratory,  MIT,
02800	Lexington, Mass.
02900	
03000	
03100	"The Compiler-Compiler  in  a  Time-Sharing  Environment",  (with  J.
03200	Curry), Summer Lectures on Advanced Computer Organization, University
03300	of Michigan, June 1967.  Also Bit Dropper, September 1967.
03400	
03500	"Translator  Writing  Systems",  (with  D.  Gries),  CS  69, Computer
03600	Science Department, Stanford University, June 1967.
03700	
03800	"First  Thoughts  on  Grammatical  Inference", A.I. Memo 55, Stanford
03900	University, August 1967.
04000	
04100	"Translator  Writing Systems", (with D. Gries), Communications of the
04200	Association for Computing Machinery, Vol. 11, No. 3, March 1968,  and
04300	reprinted  in  "Computer  Compiler  Techniques", Auerbach Publishers,
04400	1971.
04500	
04600	"The  Leap  Language and Data Structure", (with P.D. Rovner), Lincoln
04700	Laboratory  Memorandum,  January  1968.   Also  in  reduced  form  in
04800	Proceedings of the International Federation of Information Processing
04900	Societies, August 1968.
05000	
05100	"Grammatical Inference and Grammatical Complexity", (with others), CS
05200	125, Stanford  University,  Computer  Science  Department,  Stanford,
05300	California, May 1969.
05400	
05500	"An Algol-based Associative Language", (with P.D. Rovner), A.I.  Memo
05600	66,  Stanford University, 1968.  Also Communications of the ACM, Vol.
05700	12, No. 8 August 1969, pp. 439-449.  Reprinted  in,  INTRODUCTION  TO
05800	INFORMATION SCIENCE (T. Saracevic, Ed.) Bowker, 1971.
05900	
06000	"The  Stanford  Hand-Eye  Project",  (with   others),   Proc.   First
06100	International  Congress on Artificial Intelligence, Washington, D.C.,
06200	May 1969.
06300	
06400	"The  Computer  Description  of  Simply Described Scenes", (with R.P.
06500	Paul and G. Falk), A.I.  Memo  101,  Stanford  University.  Also  in,
06600	PERTINENT  CONCEPTS  IN  COMPUTER  GRAPHICS,  (J.  Nievergelt  and M.
06700	Faiman, Eds.), U.of Illinois Press, 1969.
06800	
06900	"Machine  Intelligence",  Review  of  Numbers  I.III  of  the Machine
07000	Intelligence Series, Information and Control, 14, 490-492, 1969.
07100	
07200	
07300	"Towards  Automatic  Programming",  Preprints  of  the  NATO Software
07400	Engineering Conference, Rome, Italy, 1969.
07500	
07600	"Getting  a  Computer  to  See  Simple Scenes", IEEE Student Journal,
07700	September 1970.
07800	
07900	"A  Survey of Grammatical Inference", (with A. Biermann), Proceedings
08000	of International Congress on Pattern  Recogniton,  Honolulu,  January
08100	1971.  also  in  S.  Watanbe  (Ed.) FRONTIERS OF PATTERN RECOGNITION,
08200	Academic Press, 1972.
08300	
08400	"Hebrew University Production Language", (with S. Tsur and D. Lehman)
08500	Hebrew University, Computer Science Department, February 1971.
08600	
08700	"A  Way  of  Looking  at Things", Hebrew University, Computer Science
08800	Department, February 1971.
08900	
09000	"A  Laboratory  for  Hand-Eye  Research",  (with others), Proceedings
09100	IFIPS International Conference, Lubljana, Yugoslavia, August 1971.
09200	
09300	"System Support for the Stanford Hand-Eye Project", (with R. Sproull)
09400	Proceedings Second International Congress on Artificial Intelligence,
09500	London, September 1971, p. 183-189.
09600	
09700	"The  Use  of  Vision  and Manipulation to Solve the Instant Insanity
09800	Puzzle", (with others), Proceedings Second  International  Conference
09900	on Artificial Intelligence, London, September 1971, p. 359-364.
10000	
10100	"Some Decidability Results on Grammatical Inference and  Complexity",
10200	Information and Control, Vol. 20, No. 3, April 1972, p. 244-262.
10300	
10400	"On The Synthesis of Finite-State  Machines  from  Samples  of  their
10500	Behavior",  (with  A. Biermann), IEEE Transactions on Computers, June
10600	1972, Vol. C-21, No. 6, p. 592-596.
10700	
10800	"Automatic   Programming",  CS  255,  Stanford  University,  Computer
10900	Science Department, Stanford, California, February 1972.
11000	
11100	"Total  Complexity  and  the  Inference  of  Best Programs", (with P.
11200	Shields), CS 253, Stanford  University,  April  1972.   Submitted  to
11300	Mathematical Systems Theory.
11400	
11500	"Recent Developments in SAIL-An Algol Based Language for Artificial 
11600	Intelligence", (with others).  CS 308, Stanford University, August 1972.
11700	Proc. Fall Joint Computer Conference,Anaheim, Cal.,1972,p.1193-1202.
11800	
11900	"Associative Languages" to appear in The Encyclopedia
12000	of Computer Science and Technology, A. Ralston, Ed.
12100	
12200	"A Semantics-Based Decision Theoretic Region Analyzer" (with Y.Yakimovsky)
12300	Submitted to Third IJCAI, February,1973
12400	
     

00100	                 MAJOR PROGRAMMING SYSTEMS DEVELOPED
00200	
00300	
00400	
00500	TRANSLATOR WRITING SYSTEMS
00600	
00700		FSL:  Additional reference
00800		
00900		Itturriaga, R. et.al., "Techniques and Advantages of Using the
01000		formal compiler writing system FSL to implement a Formula Algol
01100		Compiler", Proc. AFIPS Conference 1966, pp. 241-252.
01200	
01300		VITAL:  Additional Reference
01400	
01500		Mondschein, L.F. "VITAL compiler-compiler System Reference Manual",
01600		TN-1967-12.  M.I.T., Lincoln Lab., February 1967.
01700	
01800	
01900	ASSOCIATIVE LANGUAGE SYSTEMS
02000	
02100		LEAP:  Additional reference
02200	
02300		Rovner, P., "The LEAP Users Manual", Mem. 23L-0009, M.I.T., Lincoln
02400		Lab., December 1968.
02500	
02600		Swinehart, D. and R. Sproull, "SAIL Users Manual", Operating Note
02700		57.1; Stanford A.I. Project, April 1970.
02800	
02900	
03000	COOPERATING SEQUENTIAL PROCESSES
03100	
03200		HAND-EYE SYSTEM:  Additional reference
03300	
03400		Pingle, K., "System Manual for Hand-Eye Hackers", Internal
03500		Memorandum, Stanford A.I. Project, June 1971.
     

00100	DOCTORAL STUDENTS
00200	
00300	
00400	NAME	      DEPT.          TITLE/TOPIC	   FINAL ORAL	CURRENTLY
00500	
00600	F.J. Hilbing  Industrial     Strategies for 	   1968		U.S.A.F.
00700		      Engineering    Paging a Large	   		Academy
00800		    		     Associative Data Base		
00900	
01000	J.J. Horning  Computer	     A Study of Grammati-  1969		U. of
01100		      Science	     cal Inference			Toronto
01200	
01300	L.F. Morris   Computer	     Semantic Models and   1969		Syracuse U.
01400		      Science	     Compiler Correctness		
01500	
01600	G. Falk	      Computer	     Computer Interpreta-  1970		Rutgers U.
01700		      Science	     tion of Imperfect 			
01800				     Line Data as a Three-
01900				     Dimensional Scene
02000	
02100	I. Sobel      Electrical     Camera Models and	   1970		Haifa 
02200		      Engineering    Machine Perception			Technion
02300	
02400	J.Tenenbaum   Electrical     Accommodation in	   1970		Stanford
02500		      Engineering    Computer Vision			Research
02600									Institute
02700	
02800	J.D.Becker    Computer	     An Information	   1970		Bolt,
02900		      Science	     Processing Model of		Beranek, &
03000				     Intermediate Level			Newman
03100				     Cognition
03200	
03300	R. Paul	      Computer	     Studies with a	   1972		Stanford U.,
03400		      Science	     Computer Controlled		A.I. Lab.
03500				     Arm
03600	
03700	D.Swinehart   Computer	     A One-Level Language  1972		Stanford U.,
03800		      Science	     System				A.I. Lab.
03900	
04000	A. Gill	      Electrical     Visual Feedback Con-  1972		Israel
04100		      Engineering    trol of a Mechanical		Defense
04200				     Arm				Establshmnt.
04300	
04400	D. Levine     Computer	     Automated Error	   1972		Stanford U.
04500		      Science	     Correction of			IMSSS
04600				     German Sentences
04700	
04800	G. Grape      Computer	     Computer Vision	   1973		
04900		      Science	     Through Sequential
05000				     Abstraction
05100	
05200	J. Gips	      Computer	     Structure of	   1973
05300		      Science	     Pictures Applied to
05400				     Art and Vision
05500	
05600	S.Ganapathy   Computer	     Analysis of Simple    1973
05700		      Science	     Scenes Using Multiple
05800				     Views
05900	
06000	J. Low	      Computer	     Optimization of	   1973
06100		      Science	     Data Structures for
06200				     Associations
06300	
06400	Y.Yakimovsky  Computer	     Knowledge-based,	   1973
06500		      Science	     Decision Theoretic
06600				     Region Analysis of
06700				     Pictures
06800	
     

00100	                         UNIVERSITY SERVICE
00200	
00300	
00400	
00500	Freshman Seminar, "The Information Revolution"		1967-68
00600	
00700	Faculty Senate						1969-70
00800	
00900	Presidents Low-Cost Housing Committee			1968-69
01000	
01100	Steering Committee, Junior Faculty Forum		1968-69
01200	
01300	SWOPSI Seminar, "Computers and Society"			1969-70
01400	
01500	Freshman Adviser					1971-72
01600	
01700	Committee on Linguistics				1971-72
01800	
01900	Lecturer, NSF Summer Program				1971
02000	
02100	Faculty Adviser, Student Chapter, 
02200	   Association for Computing Machines			1966-68
02300	
02400	Lecturer, Campus Alumni Conference - May		1970
02500	
02600	Departmental Undergraduate Adviser			1972-73
02700	
     

00100	Name:  RICHARD P.C. PAUL
00200	Born:	June 16, 1936 in Sydney Australia.
00300	Nationality: United States
00400	Marital Status: Married, two children.
00500	
00600	EDUCATION:
00700	B.Eng.	(Engineering Physics, with Honour)	McGill	  1963
00800	M.Sc.	(Electrical Engineering)		Stanford  1968
00900	Ph.D.	(Computer Science)			Stanford  l972
01000	
01100	PROFESSIONAL EXPERIENCE:
01200	Electronic Engineer, Stanford Linear Accelerator Center	  1963-67
01300	Computer Systems Engineer, Stanford A.I. Laboratory	  1967-68
01400	Research Programmer, Stanford A.I. Laboratory		  1969-72
01500	Research Associate, Stanford A.I. Laboratory		  1972-present
01600	
01700	PUBLICATIONS:
01800	
01900	"A  Multi-pulse  Generator  for  Testing  a  Radar  Beacon", Canadian
02000	Engineering Journal, 1962.
02100	
02200	With G.  Falk and J. Feldman, "The Computer Representation of  Simply
02300	Described  Scenes"  Memo  AIM-101,  Computer  Science Dept., Stanford
02400	University, Stanford, California.
02500	
02600	With  Feldman et al, "The Use of Vision and Manipulation to Solve the
02700	Instant Insanity Puzzle", Proc. Second International Joint Conference
02800	on Artificial Intelligence.
02900	
03000	"Trajectory  Control  of  a Computer Arm", Proc. Second International
03100	Joint Conference on Artificial Intelligence, 1971.
03200	
03300	"Modelling  Trajectory  Calculation  and  Servoing  of   a   Computer
03400	Controlled  Arm",  PhD.  Thesis,  Computer  Science  Dept.,  Stanford
03500	University.
     

00100	Name:  THOMAS O. BINFORD
00200	Born:  April 13,1936, Jefferson Twp, Pennsylvania
00300	Nationality: USA
00400	Marital Status:divorced
00500	
00600	EDUCATION:
00700	BS	physics		Pennsylvania State University	1957
00800	PhD 	physics		University of Wisconsin		1965
00900	
01000	CURRENT RESEARCH:
01100	Artificial Intelligence Laboratory, Stanford University
01200		laser depth ranging system
01300		representation of shape
01400		recognition of complex objects
01500		efficient method for proximity in n-dimensions
01600		color region analysis
01700		analysis of texture
01800		sensor study
01900	
02000	
02100	Artificial Intelligence Laboratory, MIT  1967-1970
02200		Topological region analysis
02300		line finder using sequential decision 
02400		software for a visual experimentation
02500		recognition of parallelipipeds from incomplete line drawings
02600		two-dimensional shape recognition
02700		line verification
02800		line prediction
02900	
03000	POST-DOCTORAL RESEARCH:
03100	Fulbright grant, Tata Institute of Fundamental Research,Bombay India
03200	partial wave analysis of hyperon production by pions;
03300	Regge-pole analysis of Sigma plus production by pions;
03400	theory of unstable particles and symmetry principles
03500	
03600	PhD
03700	Strange particle production by pions near 1 Bev/c.
03800	Two new experimental equalities among cross sections;
03900	test of charge independence in hyperon production;
04000	showed adequacy of Regge-pole theory to explain high-energy cross sections;
04100	
04200	
04300	PUBLICATIONS:
04400	
04500	"Structured Descriptions of Complex Objects",R.K.Nevatia and T.O.Binford
04600	 Third Int Conf on AI, February, 1973.
04700	Stanford, Calif, 1973.
04800	
04900	"Computer Vision", T.O.Binford and J.M.Tenenbaum, Computer, IEEE,
05000	April 1973.
05100	
05200	"Sensor Systems for  Manipulation",  Conference  on  Remotely  Manned
05300	Systems, JPL, Pasadena, Calif, Sept 1972.
05400	
05500	"Visual  Perception  by  Computer",  Invited  paper  at  IEEE Systems
05600	Science and Cybernetics, Miami, Dec 1971.
05700	
05800	With G. Agin, "Representation and Description of Complex Objects", To
05900	be published.
06000	
06100	With Feldman, et al, "The Use of Vision and Manipulation to Solve the
06200	Instant Insanity Puzzle", Proc. Second International Joint Conference
06300	on Artificial Intelligence.
06400	
06500	With Tenenbaum, et al, "A laboratory for Hand-Eye Research",
06600	IFIP proceedings, August 1971.
06700	
06800	"The Vision Laboratory-Part One", MIT AI memo 203.
06900	
07000	"The TOPOLOGIST: A Region-Oriented System", (in draft form)
07100	
07200	With A. Herskovits, "On Boundary Detection", MIT AI memo 183.
07300	
07400	"Display Functions in LISP", MIT AI memo 182.
07500	
07600	With Desai, "High  Energy Elastic Scattering at Low Momentum Transfers", Physical
07700	Review 138,B1167.
07800	
07900	With others, "Experimental Check of Some SU(6) Cross Section Equalities", Physical
08000	Review Letters 14,715.
08100	
08200	With others, "Hyperon Production in Pion Interactions", Physical Review (1968).
08300	
08400	"Triangle  Inequality  in  Associated  Production",  Physical  Review
08500	(1968).
08600							     + - o
08700	With Anderson, et al, "CP-Nonconserving Decay 	K ← π π π ", Physical
08800							1
08900	Review Letters 14,475.
09000						     o   +  -  o
09100	With Stern, et al, "Absolute Decay Rate for K → π  π  π  and the
09200						     2
09300						     2
09400	|DI|=1/2 Rule", Physical Review Letters 12,459.
09500	
09600	With  Lind,  et  al,  "Experimental  Investigation of V-A in Leptonic
09700	Lambda Decay", Phys Rev 135,B1483.
09800	
09900	
10000	DOCTORAL STUDENTS:
10100	
10200	G.J.Agin	Description and Representation	1972
10300			of Complex Objects
10400	
10500	R.K.Nevatia	Recognition of Complex Objects	1973
10600	
10700	Ruzena Bajcsy (under Prof J. McCarthy)
10800		Computer Identification of Textured	1972
10900			Visual Scenes
11000	
11100	T. Garvey	Perceptual Problem Solving	1973
     

00100	
00200	V. COMPUTING FACILITIES
00300	
00400	The Laboratory operates a display-oriented  timesharing  system  with
00500	facilities for real-time control of mechanical arms and other special
00600	devices.  This system is connected to the ARPA computer network.
00700	
00800	Central Processor:   Digital Equipment Corporation PDP-10
00900	
01000	Real-time Processor: Digital Equipment Corporation PDP-6
01100	
01200	Network Processor:   BBN IMP (Honeywell DDP-516)
01300	
01400	Primary Store:       65K words of 1.7 microsecond DEC Core
01500		             65K words of 1 microsecond Ampex Core
01600	                     131K words of 1.6 microsecond Ampex Core
01700	
01800	Swapping Store:      Librascope disk (5 million words, 22 million
01900	                     bits/second transfer rate)
02000	
02100	File Store:          IBM 3330 disc file, 6 spindles (leased)
02200	
02300	Peripherals:         4 DECtape drives, 2 mag tape drives, line printer,
02400		             Calcomp plotter, Xerox Graphics Printer
02500	
02600	Terminals:           58 TV displays, 6 III displays, 3 IMLAC displays,
02700		             1 ARDS display, 15 Teletype terminals
02800	
02900	Special  Equipment:  Audio  input  and  output  systems, hand-eye
03000	                     equipment (2 TV cameras, 3 arms), remote-
03100	                     controlled cart
03200	
03300	Nearly all of this equipment  was  acquired  with  support  from  the
03400	Advanced   Research   Projects  Agency  for  research  in  artificial
03500	intelligence.
     

00100	VI. BUDGET
00200	
00300	
00400	Research in Robotics and Automation at the Stanford Artificial Intelligence
00500	Laboratory has been supported for several years by the Advanced Research
00600	Projects Agency of the Department of Defense.  This support has supplied
00700	most of the necessary capital equipment and continues to support some of
00800	the basic work in this area.  The budget requirements for our "proof of
00900	concept" proposal following this initial one year proposal will
01000	depend on the nature of ARPA support in the future.
01100	
01200	
01300	
01400	                 ADVANCED AUTOMATION DEVELOPMENT
01500			 RESEARCH GRANT PROPOSAL BUDGET
01600			 ONE YEAR BEGINNING SEPTEMBER 1, 1973
01700	
01800	
01900	BUDGET CATEGORY
02000							9/1/73-9/1/74
02100	__________________________________________________________________
02200	A. SALARIES & WAGES:
02300	
02400	   1. Senior personnel:
02500	
02600	      a. Principal Investigator
02700	         J. Feldman, Associate
02800	          Professor, (2 mos. FTE)		$ 3,624
02900	
03000	      b. Faculty Associate
03100	         J. McCarthy, Professor  		  -----
03200	
03300	   2. Other Personnel:
03400	
03500	      a. Research Computer Scientist:
03600	
03700	         L. Earnest, (2 mos. FTE)            	$ 4,584
03800	
03900	      b. Research Associates:
04000	
04100	         T. Binford, (6 mos. FTE)           	$ 9,300
04200	
04300	         L. Paul, (6 mos. FTE)			$ 8,820
04400	
04500	      c. Non-Fac. Professionals (others):
04600	
04700	         ------, Research Programmer,
04800	         (12 mos. FTE)				$12,000
04900	
05000	         V. scheinman, Design Engineer,
05100	         (6 mos. FTE)				$ 8,280
05200	
05300	      d. Grad Students:
05400	
05500	         Student Research Assts.:
05600	
05700	          (3) 1/2 time Acad. Yr.,
05800	           (13.5 mos. FTE) 			$ 9,180
05900	
06000	          (3) 100% Summer Qtr.,
06100	 	   (9 mos. FTE)				$ 6,750
06200	
06300	      e. Secretarial-Clerical:
06400	
06500	 	  (1) Secretary, (12 mos. FTE)		$ 7,800
06600	
06700	      f. Technical:
06800	
06900	          (1) Electronics Tech.,
07000	 	   (12 mos. FTE)			$ 9,600
07100	
07200	      g. Reserve for Salary Increases
07300	         @ 5% per year				$ 3,997
07400							_______
07500	
07600	         TOTAL SALARIES & WAGES			$83,935
07700	
07800	B. FRINGE BENEFITS:
07900	
08000	   17.0% 9/1/73 to 8/31/74			$14,269
08100							_______
08200	
08300	   Total Salaries, Wages and
08400	   Fringe Benefits (A + B)			$98,204
08500	
08600	C. EXPENDABLE SUPPLIES AND EQUIP.:
08700	
08800	   (e.g. Office Supplies, Xeroxing,
08900	         Postage, Freight, Consulting,
09000	         Honorariums) 				$ 2,251
09100	
09200	D. CAPITAL EQUIPMENT:				$ 5,000
09300	
09400	E. TRAVEL:
09500	
09600	   1. Domestic
09700	       Local            $  600
09800	       Industry Visits	$3,600
09900				______
10000	   Total Travel					$ 4,200
10100	
10200	F. PUBLICATION COSTS:				$   400
10300	
10400	G. OTHER COSTS:
10500	
10600	   1. Communications (Telephones)   $ 1,000    
10700	   
10800	   2. Equipment Rental (Disk)       $25,000     
10900	            			    _______     
11000	   Total Other Costs				$26,000
11100	                                               ________        
11200	H. TOTAL DIRECT COSTS (A through G)	       $136,055
11300	
11400	I. INDIRECT COSTS:
11500	
11600	   1. On Campus 47% of Net Total
11700	      Direct Costs (H)				$63,945
11800							_______
11900	
12000	J. TOTAL COSTS (G + I)			       $200,000
12100							_______
12200							_______
     

00100	VII.  REFERENCES
00200	
00300	[Alexander]  Tom  Alexander,  "The  Hard  Road  to  Soft Automation",
00400	
00500	[Anderson 1972] R. Anderson,"Programmable Automation, The Future
00600	of Computers in Manufacturing", Datamation, Dec 1972.
00700	
00800	[Agin] G. Agin, "Description and Representation of  Curved  Objects",
00900	Artificial Intelligence Laboratory, Stanford University, AIM-134,
01000	October 1972.
01100	
01200	
01300	[Bajcsy 1972] "Computer Identification of Visual Texture" 
01400	AIM-180,Artificial Intelligence Laboratory, Stanford University,
01500	October 1972.
01600	
01700	[Baumgart 1972a] B. Baumgart, "GEOMED - A Geometric Editor", May 1972.
01800	SAILON-68,Artificial Intelligence Lab, Stanford University,
01900	
02000	[Baumgart 1972b] Baumgart, Bruce G., WINGED EDGE POLYHEDRON REPRESENTATION, 
02100	AIM 179,Artificial Intelligence Lab, Stanford University,October 1972.
02200	
02300	[Binford 1972]"Sensor Systems for  Manipulation",  Conference  on  Remotely
02400	Manned Systems, JPL, Pasadena, Calif, Sept 1972.
02500	
02600	[Binford 1971] "Visual  Perception  by  Computer",  Invited  paper IEEE
02700	Systems Science and Cybernetics, Miami, Dec 1971.
02800	
02900	[Binford 1970] T.O.Binford, "Ranging by Laser", Internal Report,
03000	Artificial Intelligence Lab, Stanford University, Oct 1970.
03100